package com.tobestronger.shouxiespringframework.beans.factory;

/**
 * FactoryBean 工厂Bean
 *
 * @param <T>
 */
public interface FactoryBean<T> {

    /**
     * 生成的对象是否保持单例
     *
     * @return
     */
    boolean isSingleton();

    /**
     * 生成一个T类型的对象
     *
     * @return
     * @throws Exception
     */
    T getObject() throws Exception;

    /**
     * 获取 支持生成的对象 的Class
     *
     * @return
     */
    Class<?> getObjectType();

}